.TH std::ranges::adjacent_transform_view::begin 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::ranges::adjacent_transform_view::begin \- std::ranges::adjacent_transform_view::begin

.SH Synopsis
   constexpr auto begin();                                          \fB(1)\fP (since C++23)
   constexpr auto begin() const

       requires ranges::range<const InnerView> &&                   \fB(2)\fP (since C++23)
           std::regular_invocable<const F&,

               __REPEAT(ranges::range_reference_t<const V>, N)...>;

   Returns an iterator to the first element of the adjacent_transform_view.

   Let inner_ be the underlying ranges::adjacent_view.

   1) Equivalent to return /*iterator*/<false>(*this, inner_.begin());.
   2) Equivalent to return /*iterator*/<true>(*this, inner_.begin());.

.SH Parameters

   \fI(none)\fP

.SH Return value

   Iterator to the first element.

.SH Example


// Run this code

 #include <ranges>

 int main()
 {
     auto sum = [](auto... args) { return (... + args); };

     constexpr auto view = std::views::iota(13, 1337)
                         | std::views::adjacent_transform<3>(sum);

     static_assert(*view.begin() == 42 and 42 == 13 + 14 + 15);
 }

.SH See also

   end           returns an iterator or a sentinel to the end
   (C++23)       \fI(public member function)\fP
   ranges::begin returns an iterator to the beginning of a range
   (C++20)       (customization point object)
